package com.dinzeer.sjapadder.data;

import cn.mmf.slashblade_addon.SlashBladeAddon;
import cn.mmf.tls.se.TLSSpecialEffectRegistry;
import com.dinzeer.sjapadder.Sjap_adder;
import com.dinzeer.sjapadder.register.SjaSpecialEffectRegsitry;
import com.dinzeer.sjapadder.register.SjaSlashArtRegistry;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.data.builtin.SlashBladeBuiltInRegistry;
import mods.flammpfeil.slashblade.item.SwordType;
import mods.flammpfeil.slashblade.registry.SlashArtsRegistry;
import mods.flammpfeil.slashblade.registry.SpecialEffectsRegistry;
import mods.flammpfeil.slashblade.registry.slashblade.EnchantmentDefinition;
import mods.flammpfeil.slashblade.registry.slashblade.PropertiesDefinition;
import mods.flammpfeil.slashblade.registry.slashblade.RenderDefinition;
import mods.flammpfeil.slashblade.registry.slashblade.SlashBladeDefinition;
import net.minecraft.data.worldgen.BootstapContext;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraftforge.registries.ForgeRegistries;

import java.awt.*;
import java.util.List;

public class SjaBuiltInRegsitry {

     //觉醒阿贝
    public static final ResourceKey<SlashBladeDefinition> kamuyex_fire=register("kamuyex_fire");
    //红樱
    public static final ResourceKey<SlashBladeDefinition> crimsoncherryex=register("crimsoncherryex");
    //似蛭
    public static final ResourceKey<SlashBladeDefinition> nihilulex=register("nihilulex");
    //死念
    public static final ResourceKey<SlashBladeDefinition> nihilbxex=register("nihilbxex");
    //觉醒乌卡
    public static final ResourceKey<SlashBladeDefinition> kamuyex_water=register("kamuyex_water");
    //觉醒坎那
    public static final ResourceKey<SlashBladeDefinition> kamuyex_ligghtning=register("kamuyex_ligghtning");
    //神威刀莉芙
    public static final ResourceKey<SlashBladeDefinition> kamuy_life=register("kamuy_life");
    //神威刀莉芙觉醒
    public static final ResourceKey<SlashBladeDefinition> kamuyex_life=register("kamuyex_life");
    //寒妖刀「冰胧月」
    public static final ResourceKey<SlashBladeDefinition> frostbane_moonveil=register("frostbane_moonveil");
    //祸灾「大蛇鄂门」
    public static final ResourceKey<SlashBladeDefinition> Agito_True_EX=register("agito_true_ex");
    //噬魂「鄂门」
    public static final ResourceKey<SlashBladeDefinition> Agito_EX=register("agito_ex");
    //妖刀「虹月」
    public static final ResourceKey<SlashBladeDefinition> Rainbow_Slash=register("rainbow_slash");
    //妖刀「血桑轮结月」
    public static final ResourceKey<SlashBladeDefinition> nihil_soul=register("nihil_soul");
    //神威刀诺克特
    public static final ResourceKey<SlashBladeDefinition> kamuy_dark=register("kamuy_dark");
    //神威刀诺克特觉醒
    public static final ResourceKey<SlashBladeDefinition> kamuyex_dark=register("kamuyex_dark");
    //幽匿「斩月」
    public static final ResourceKey<SlashBladeDefinition> break_moon=register("break_moon");
    //结月刀「缘结」
    public static final ResourceKey<SlashBladeDefinition> toyoko=register("toyoko");
    //黑刀「魂灵影」
    public static final ResourceKey<SlashBladeDefinition> black_soul=register("black_soul");

    //利刃「蓝之梦」
    public static final ResourceKey<SlashBladeDefinition> blue_dream=register("blue_dream");
    public static void registerAll(BootstapContext<SlashBladeDefinition> bootstrap) {

        bootstrap.register(
                kamuyex_fire, new SlashBladeDefinition(Sjap_adder.prefix("kamuyex_fire"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/fire.png"))
                                .modelName(Sjap_adder.prefix("model/kaumyex/kamuyex.obj"))
                                .effectColor(16711680)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.BurningDances.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.FireDance.getId())
                                .baseAttackModifier(12)
                                .maxDamage(200)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.FIRE_ASPECT), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.FIRE_PROTECTION), 3)
                        )
                ));
        bootstrap.register(
                crimsoncherryex, new SlashBladeDefinition(Sjap_adder.prefix("crimsoncherryex"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/nihill/crimsoncherry.png"))
                                .modelName(SlashBladeAddon.prefix("model/nihil/nihil.obj"))
                                .effectColor(16711680)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SlashArtsRegistry.SAKURA_END.getId())
                                .addSpecialEffect(TLSSpecialEffectRegistry.SMITE_SE.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.EndSakuraRiseUp.getId())
                                .baseAttackModifier(16)
                                .maxDamage(300)
                                .build(),
                        List.of(
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.FIRE_ASPECT), 5)
                        )
                ));

        bootstrap.register(
                nihilulex, new SlashBladeDefinition(Sjap_adder.prefix("nihilulex"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/nihill/nihilul.png"))
                                .modelName(SlashBladeAddon.prefix("model/nihil/nihil.obj"))
                                .effectColor(16187647)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SlashArtsRegistry.WAVE_EDGE.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.WaveEdgeRiseUp.getId())
                                .addSpecialEffect(TLSSpecialEffectRegistry.EXTRA_SHARPNESS.getId())
                                .baseAttackModifier(16)
                                .maxDamage(300)
                                .build(),
                        List.of(
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.MOB_LOOTING), 5)
                        )
                ));
        bootstrap.register(
                nihilbxex, new SlashBladeDefinition(Sjap_adder.prefix("nihilbxex"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/nihill/nihilbx.png"))
                                .modelName(SlashBladeAddon.prefix("model/nihil/nihil.obj"))
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.SAKURA_WAVE_EDGE.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.WaveEdgeRiseUp.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.EndSakuraRiseUp.getId())
                                .addSpecialEffect(TLSSpecialEffectRegistry.EXTRA_SHARPNESS.getId())
                                .addSpecialEffect(TLSSpecialEffectRegistry.SMITE_SE.getId())
                                .addSpecialEffect(TLSSpecialEffectRegistry.EXTRA_POWER.getId())
                                .baseAttackModifier(25)
                                .maxDamage(600)
                                .build(),
                        List.of(
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.MOB_LOOTING), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.FIRE_ASPECT), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.MENDING), 10)
                        )
                ));
        bootstrap.register(
                kamuyex_water, new SlashBladeDefinition(Sjap_adder.prefix("kamuyex_water"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/water.png"))
                                .modelName(Sjap_adder.prefix("model/kaumyex/kamuyex.obj"))
                                .effectColor(8703)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.terrifyingwaves.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.TerrifyingWaves.getId())
                                .baseAttackModifier(12)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.BANE_OF_ARTHROPODS), 5)
                        )
                ));
        bootstrap.register(
                kamuyex_ligghtning, new SlashBladeDefinition(Sjap_adder.prefix("kamuyex_ligghtning"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/lightning.png"))
                                .modelName(Sjap_adder.prefix("model/kaumyex/kamuyex.obj"))
                                .effectColor(16766720)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.lightinggwaves.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.NightingalesSE.getId())
                                .baseAttackModifier(12)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 15),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 7)
                        )
                ));
        bootstrap.register(
                kamuy_life, new SlashBladeDefinition(Sjap_adder.prefix("kamuy_life"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/life.png"))
                                .modelName(SlashBladeAddon.prefix("model/kamuy/kamuy.obj"))
                                .effectColor(65299)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.forLife.getId())
                                .baseAttackModifier(6)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));
        bootstrap.register(
                kamuyex_life, new SlashBladeDefinition(Sjap_adder.prefix("kamuyex_life"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/life.png"))
                                .modelName(Sjap_adder.prefix("model/kaumyex/kamuyex.obj"))
                                .effectColor(65299)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.forLifeDrive.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.LifeForHealth.getId())
                                .baseAttackModifier(12)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));
        bootstrap.register(
                frostbane_moonveil, new SlashBladeDefinition(Sjap_adder.prefix("frostbane_moonveil"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/tw/frostbane_moonveil.png"))
                                .modelName(Sjap_adder.prefix("model/tw/frostbane_moonveil.obj"))
                                .effectColor(8703)
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .baseAttackModifier(15)
                                .slashArtsType(SjaSlashArtRegistry.ColdDrive.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.ColdGuardian.getId())
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 10),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));
        bootstrap.register(
                Agito_EX, new SlashBladeDefinition(Sjap_adder.prefix("agito_ex"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/tw/agito_ex_false.png"))
                                .modelName(Sjap_adder.prefix("model/tw/agito_ex.obj"))
                                .effectColor(Color.HSBtoRGB(40, 5, 10))
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.illusionDrive.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.Agitos.getId())
                                .baseAttackModifier(13)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.POWER_ARROWS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 3)
                        )
                ));
        bootstrap.register(
                Agito_True_EX, new SlashBladeDefinition(Sjap_adder.prefix("agito_true_ex"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/tw/agito_ex_true.png"))
                                .modelName(Sjap_adder.prefix("model/tw/agito_ex_true.obj"))
                                .effectColor(Color.RED.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.WaveEdgeSupers.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.AgitosEX.getId())
                                .baseAttackModifier(18)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.POWER_ARROWS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SMITE), 5)
                        )
                ));
        bootstrap.register(
                Rainbow_Slash, new SlashBladeDefinition(Sjap_adder.prefix("rainbow_slash"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/tw/rainbow_slash.png"))
                                .modelName(Sjap_adder.prefix("model/tw/frostbane_moonveil.obj"))
                                .effectColor(Color.WHITE.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.RainBowDrives.getId())
                                .baseAttackModifier(6)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.POWER_ARROWS), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 1)
                        )
                ));
        bootstrap.register(
                nihil_soul, new SlashBladeDefinition(Sjap_adder.prefix("nihil_soul"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/other/nihil_soul.png"))
                                .modelName(Sjap_adder.prefix("model/tw/frostbane_moonveil.obj"))
                                .effectColor(Color.RED.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.SuperBloodCuts.getId())
                                .baseAttackModifier(15)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.POWER_ARROWS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 5)
                        )
                ));
        bootstrap.register(
                kamuy_dark, new SlashBladeDefinition(Sjap_adder.prefix("kamuy_dark"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/dark.png"))
                                .modelName(SlashBladeAddon.prefix("model/kamuy/kamuy.obj"))
                                .effectColor(Color.magenta.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.DarkCuts.getId())
                                .baseAttackModifier(6)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));
        bootstrap.register(
                kamuyex_dark, new SlashBladeDefinition(Sjap_adder.prefix("kamuyex_dark"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/kaumyex/dark.png"))
                                .modelName(Sjap_adder.prefix("model/kaumyex/kamuyex.obj"))
                                .effectColor(Color.magenta.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.DarkCutsEX.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.DarkCuter.getId())
                                .baseAttackModifier(12)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 7),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));

        bootstrap.register(
                break_moon, new SlashBladeDefinition(Sjap_adder.prefix("break_moon"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/break_moon/break_moon.png"))
                                .modelName(SlashBlade.prefix("model/named/dios/dios.obj"))
                                .effectColor(Color.GREEN.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SlashArtsRegistry.WAVE_EDGE.getId())
                                .baseAttackModifier(12)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));

        bootstrap.register(
                toyoko, new SlashBladeDefinition(Sjap_adder.prefix("toyoko"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(SlashBlade.prefix("model/named/a_tukumo.png"))
                                .modelName(Sjap_adder.prefix("model/tw/agito_ex.obj"))
                                .effectColor(Color.magenta.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.SAKURA_DRIVE.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.FateBond.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.ClearMind.getId())
                                .baseAttackModifier(15)
                                .maxDamage(300)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 3),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 3)
                        )
                ));

        bootstrap.register(
                black_soul, new SlashBladeDefinition(Sjap_adder.prefix("black_soul"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/master_sword/black.png"))
                                .modelName(SlashBlade.prefix("model/named/muramasa/muramasa.obj"))
                                .effectColor(Color.WHITE.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .slashArtsType(SjaSlashArtRegistry.EXPLOSIVE_DAWN.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.SHADOW_OF_REVENANT.getId())
                                .baseAttackModifier(12)
                                .maxDamage(60)
                                .build(),
                        List.of(new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.POWER_ARROWS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.THORNS), 5)
                        )
                ));

        bootstrap.register(
                blue_dream, new SlashBladeDefinition(Sjap_adder.prefix("blue_dream"),
                        RenderDefinition.Builder.newInstance()
                                .textureName(Sjap_adder.prefix("model/other/blue_dream.png"))
                                .modelName(Sjap_adder.prefix("model/tw/frostbane_moonveil.obj"))
                                .effectColor(Color.BLUE.getRGB())
                                .build(),
                        PropertiesDefinition.Builder.newInstance()
                                .defaultSwordType(List.of(SwordType.BEWITCHED))
                                .baseAttackModifier(15)
                                .slashArtsType(SjaSlashArtRegistry.XrossThunder.getId())
                                .addSpecialEffect(SjaSpecialEffectRegsitry.TheBlueDreams.getId())
                                .maxDamage(300)
                                .build(),
                        List.of(
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.SHARPNESS), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.UNBREAKING), 5),
                                new EnchantmentDefinition(getEnchantmentID(Enchantments.KNOCKBACK), 3)
                        )
                ));
    }
    private static ResourceKey<SlashBladeDefinition> register(String id) {
        return ResourceKey.create(SlashBladeDefinition.REGISTRY_KEY, Sjap_adder.prefix(id));
    }
    static ResourceLocation getEnchantmentID(Enchantment enchantment) {
        return ForgeRegistries.ENCHANTMENTS.getKey(enchantment);
    }

}
